/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#include "表格工作区.h"
#include "ui表格视口.h"

static std::set<C_工作区页面*> g表格页面;

static bool on_表格视口打开(C_Widget* self, bool show) {
	C_工作区页面* 工作区 = dynamic_cast<C_工作区页面*>(self);
	C_表格视口::g当前操作表格视口 = (C_表格视口*)(f_ui_get滚动框视口(工作区->mui_画布页面));

	f_表格视口页面_设置当前节点数据();

	return false;
}


void f_工作区页面_表格视口初始化(S_UI创建环境& ctx) {

}

C_工作区页面* f_工作区_创建表格视口(S_UI创建环境& ctx) {
	auto ui表格视口 = f_工作区页面_创建表格视口(ctx);

	C_状态条* tool = new C_状态条(ctx);
	C_工作区页面* 工作区 = new C_工作区页面(E_工作区类型::e_表格视口, ctx, E_方向::e_横向, ui表格视口, tool);
	工作区->mf_打开关闭 = on_表格视口打开;

	g表格页面.insert(工作区);
	return 工作区;
}

void f_工作区_销毁表格视口(C_工作区页面* page) {
	g表格页面.erase(page);
	
}


void f_表格视口页面_设置当前节点数据() {
	std::vector<C_节点基类*> nodes = f_global_get激活节点();
	if (C_表格视口::g当前操作表格视口) {
		C_表格视口::g当前操作表格视口->f_数据绘制();
	}

	static S_Array* 节点容器 = f_core_array_new(0, sizeof(C_节点基类*));
	auto prop = f_alloc_PropArrayContainer(节点容器, L"节点", E_值类型::e_Type_Node);
	prop.m_私有 = true;

	f_core_array_resize(节点容器, 0);
	std::vector<S_Props> Props;
	for (auto& node : nodes) {
		f_core_array_push_back(节点容器, (uint8*)&node);
	}
	Props.push_back(prop);
	
	for (auto& e : g表格页面) {
		//e->m_属性栏->f_构建属性部件(Props);
	}
	
}

void f_表格视口页面_联动更新() {
	if (C_表格视口::g当前操作表格视口) {
		C_表格视口::g当前操作表格视口->f_数据绘制();
	}
}










